package com.ruoyi.gp.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】业务对象 patient
 *
 * @author ruoyi
 * @date 2024-03-04
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class PatientBo extends BaseEntity {

    /**
     * 序号
     */
    @NotNull(message = "序号不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 姓名
     */
    @NotBlank(message = "姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 性别
     */
    @NotBlank(message = "性别不能为空", groups = { AddGroup.class, EditGroup.class })
    private String sex;

    /**
     * 年龄
     */
    @NotNull(message = "年龄不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long age;

    /**
     * 手机号
     */
    @NotBlank(message = "手机号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String phone;

    /**
     * 管理机构
     */
    @NotBlank(message = "管理机构不能为空", groups = { AddGroup.class, EditGroup.class })
    private String governingBody;

    /**
     * 管理团队
     */
    @NotBlank(message = "管理团队不能为空", groups = { AddGroup.class, EditGroup.class })
    private String managementTeam;

    /**
     * 用户类型
     */
    @NotBlank(message = "用户类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String userType;

    /**
     * 随访完成量
     */
    @NotNull(message = "随访完成量不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long finish;

    /**
     * 随访未完成量
     */
    @NotNull(message = "随访未完成量不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long notFinish;

    /**
     * 用药记录id
     */
    @NotNull(message = "用药记录id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long medicationRecordsId;

    /**
     * 家庭环境id
     */
    @NotNull(message = "家庭环境id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long familyEnvironmentId;

    /**
     * 注册时间
     */
    @NotNull(message = "注册时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date register;

    /**
     * 医生id
     */
    @NotNull(message = "医生id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long doctorId;

    /**
     * 家庭随访量
     */
    @NotNull(message = "家庭随访量不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long medicationRecordsCount;

    /**
     * 家庭环境量
     */
    @NotNull(message = "家庭环境量不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long familyEnvironmentCount;

    /**
     * 项目需求量
     */
    @NotNull(message = "项目需求量不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long finishCount;


}
